Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

540
Vistas
node:internal/fs/utils:670 throw new ERR_INVALID_ARG_TYPE(propName, ['string', 'Buffer', 'URL'], path);

Recibo los siguientes errores al hacer algunos cambios, pero nunca se resuelven

  1. node:internal/fs/utils:670 throw new ERR_INVALID_ARG_TYPE(propName, ['string', 'Buffer', 'URL'], path); ^

TypeError [ERR_INVALID_ARG_TYPE]: el argumento "ruta" debe ser de tipo cadena o una instancia de Buffer o URL. Recibido indefinido

  1. En algún momento, cuando realizo algunos cambios con la ayuda de Internet, aparece como en el registro de la consola: publicación /api/product/create/6291eca0d8edbdf537a8eb4d - - ms - -

Esto sucede cuando intento crear un producto y subo una imagen a través del cartero, resuelva que lo necesito.

Capturas de pantalla del código

aplicación.js aplicación.js

Producto Route.js' Product.js

Producto Controller.js Producto Controller

Modelo de producto Modelo de producto

Código si no aparece la imagen

Ruta del producto -

 const express = require("express") const router = express.Router() const { create } = require("../controllers/product") const { requireSignin, isAdmin, isAuth } = require("../controllers/auth") const { userById } = require("../controllers/user") //Routes router.post("/product/create/:userId", requireSignin, isAdmin, create) router.param("userId", userById) module.exports = router

Controlador de producto-

 const formidable = require("formidable") const _ = require("lodash") const fs = require("fs") const Product = require("../models/product") const { errorHandler } = require("../helpers/dbErrorHandler") exports.create = (req, res) => { let form = new formidable.IncomingForm() form.keepExtensions = true form.parse(req, (err, fields, files) => { if (err) { return res.status(400).json({ err: "Image cannot be uploaded", }) } let product = new Product(fields) if (files.photo) { product.photo.data = fs.readFileSync(files.photo.path) product.photo.contentType = files.photo.type } product.save((err, result) => { if (err) { console.log(err) } res.json(result) }) }) }
about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

En Product Controller, cambie files.photo.path a files.photo.filepath y también cambie files.photo.type a files.photo.mimetype

Controlador de producto

 const formidable = require("formidable") const _ = require("lodash") const fs = require("fs") const Product = require("../models/product") const { errorHandler } = require("../helpers/dbErrorHandler") exports.create = (req, res) => { let form = new formidable.IncomingForm() form.keepExtensions = true form.parse(req, (err, fields, files) => { if (err) { return res.status(400).json({ err: "Image cannot be uploaded", }) } let product = new Product(fields) if (files.photo) { product.photo.data = fs.readFileSync(files.photo.filepath) product.photo.contentType = files.photo.mimetype } product.save((err, result) => { if (err) { console.log(err) } res.json(result) }) }) }
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda